package com.yujiahao.bigdata.sql

import org.apache.spark.sql.{DataFrame, SparkSession}

object SparkSQL01_DataFrame_1 {
  def main(args: Array[String]): Unit = {
    //TODO 1、SparkSQL直接构建无法构建，包是私有的，使用伴生对象伴生类构建builder
    //SparkSQL对SparkCore进行了封装，所以环境也要发生变化

    val spark = SparkSession.builder
      .master("local")
      .appName("Word Count")
      .getOrCreate()
    //TODO 这里跟命令行的操作不一样，要进行隐式转换，将环境保证好
    import spark.implicits._
    // import 对象名.implicits._

    //构建Dataframe
    val df: DataFrame = spark.read.json("data/user.json")


    //使用DSL方式访问

    df.select($"age" + 20).show()
    df.select('age + 20).show()

    //TODO 2、关闭资源
    spark.stop()
  }

}
